#define _CRT_SECURE_NO_WARNINGS

#include "Test.h"

//int main()
//{
//	hlh::test_string2();
//	return 0;
//}


//class Solution {
//public:
//    string addStrings(string num1, string num2) {
//        int end1 = num1.size() - 1, end2 = num2.size() - 1;
//        int carry = 0;
//        string retStr;
//        while (end1 >= 0 || end2 >= 0)
//        {
//            int val1 = 0, val2 = 0;
//            if (end1 >= 0)
//            {
//                val1 = num1[end1] - '0';
//            }
//            else
//                val1 = 0;
//            if (end2 >= 0)
//            {
//                val2 = num2[end2] - '0';
//            }
//            else
//                val2 = 0;
//
//            int ret = val1 + val2 + carry;
//            carry = ret / 10;
//            ret %= 10;
//
//            retStr.push_back(ret + '0');
//            --end1;
//            --end2;
//        }
//        if (carry == 1)
//            retStr.push_back('1');
//        reverse(retStr.begin(), retStr.end());
//        return retStr;
//    }
//};


int main() {
    string s1;
    getline(cin , s1);
    size_t pos = s1.rfind(' ');
    cout << s1.size() - pos - 1 << endl;

    return 0;
}